/**
*** @title：localStorage缓存方法定义
*** @param：
*** @author：lupan
*** @desc：
*** @date：2019-09-18 13:51:31
**/

const cache = {
  /**
  *** @title：localStorage缓存数据到本地
  *** @param：
  *** @author：lupan
  *** @desc：
  *** @date：2019-09-18 13:53:07
  **/
  set: function (name, data) {
    localStorage.setItem(name, JSON.stringify(data))
  },
  /**
  *** @title：从localStorage缓存中取出需要的数据
  *** @param：
  *** @author：lupan
  *** @desc：
  *** @date：2019-09-18 13:53:27
  **/
  get: function (name) {
    return JSON.parse(localStorage.getItem(name))
  },
  /**
  *** @title：删除localStrong中对应数据
  *** @param：
  *** @author：lupan
  *** @desc：
  *** @date：2019-09-18 18:11:42
  **/
  remove: function (name) {
    localStorage.removeItem(name)
  },
  /**
  *** @title：根据字典标识获取对应字典
  *** @param：
  *** @author：lupan
  *** @desc：
  *** @date：2019-09-18 18:11:42
  **/
  getDic: function (iden) {
    const dicData = this.get('dicData')
    const dic = dicData.filter(item => item.iden === iden)
    return dic[0] ? dic[0].children ? dic[0].children : [] : []
  },
  /*
   *@name: 存储个人信息
   *@param:{type} 
   *@description:
   *@return:
   *@author: lupan
   *@date: 2020-03-11 19:05:20
  */
  setUserInfo (data) {
    // 判断是否有用户存在
    data = JSON.stringify(data)
    let arr = []
    if (!this.get('userInfoList')) {
      arr.push(data)
      this.set('userInfoList', arr)
      return
    }
    arr = this.get('userInfoList')
    arr.push(data)
    this.set('userInfoList', arr)
  },

  /*
   *@name: 获取个人信息列表
   *@param:{type} 
   *@description:
   *@return:
   *@author: lupan
   *@date: 2020-03-11 19:05:20
  */
  getUserList () {
    return this.get('userInfoList') ? this.get('userInfoList').map(item => JSON.parse(item)) : []
  },
  /*
   *@name: 清除个人信息列表
   *@param:{type} 
   *@description:
   *@return:
   *@author: lupan
   *@date: 2020-03-12 16:48:28
  */
  clearUserList () {
    this.remove('userInfoList')
  }
}

export default cache
